package cn.iocoder.yudao.module.vos.dal.mysql.secretaccountproductprice;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.vos.dal.dataobject.secretaccountproductprice.SecretAccountProductPriceDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.vos.controller.admin.secretaccountproductprice.vo.*;

/**
 * 全局产品定价（产品权限唯一 → 价格） Mapper
 *
 * @author shijun
 */
@Mapper
public interface SecretAccountProductPriceMapper extends BaseMapperX<SecretAccountProductPriceDO> {

    default PageResult<SecretAccountProductPriceDO> selectPage(SecretAccountProductPricePageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<SecretAccountProductPriceDO>()
                .eqIfPresent(SecretAccountProductPriceDO::getProductPermission, reqVO.getProductPermission())
                .eqIfPresent(SecretAccountProductPriceDO::getUnitPrice, reqVO.getUnitPrice())
                .betweenIfPresent(SecretAccountProductPriceDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(SecretAccountProductPriceDO::getProductPermission));
    }

}